home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / Tests / Passed / test53.pl < prev    next >
Encoding:
Text File  |  1989-04-14  |  624 b   |  29 lines

  1.  
  2. /* Copyright (C) 1988, 1989 Herve' Touati, Aquarius Project, UC Berkeley */
  3.  
  4. /* testing if-then-elses */
  5.  
  6. main :- prove(if(a, b, c), [b,c], []), write(ok), nl.
  7.  
  8. prove(Wff, True, False) :-
  9.     (truep(Wff, True) -> true;
  10.      falsep(Wff, False) -> fail;
  11.      Wff = if(If, Then, Else) ->
  12.         (truep(If, True) -> prove(Then, True, False);
  13.          falsep(If, False) -> prove(Else, True, False);
  14.          prove(Then, [If|True], False), 
  15.          prove(Else, True, [If|False]))), !.
  16.  
  17. truep(t,_) :- !.
  18. truep(Wff,Tlist) :- member(Wff,Tlist).
  19.  
  20. falsep(f,_) :- !.
  21. falsep(Wff,Flist) :- member(Wff,Flist).
  22.  
  23. member(X,[X|_]) :- !.
  24. member(X,[_|T]) :- member(X,T).
  25.  
  26.  
  27.  
  28.  
  29.